
#设置一个字典，将大部分日志的安全级别映射为字符串
import logging
import time

SEVERITY={
    logging.DEBUG:'debug',
    logging.INFO:'info',
    logging.WARNING:'warning',
    logging.ERROR:'debug',
    logging.CRITICAL:'critical',
}
SEVERITY.update((name,name) for name in SEVERITY.values())

def log_recent(conn,name,message,severity=logging.INFO,pipe=None):
    #尝试将日志的安全级别准还为简单的字符串
    severity=str(SEVERITY.get(severity,severity)).lower()
    #创建负责存储消息的键
    destination='recent:%s:%s'%(name,severity)
    #将当前时间添加到消息里面，用于记录消息的发送时间
    message=time.asctime()+'  '+message
    #使用流水线来将通信往返次数降低为一次
    pipe=pipe or conn.pipeline()
    #将消息添加到日志列表的最前面
    pipe.lpush(destination,message)
    #对日志列表进行修建，让它只包含最新的100条消息
    pipe.ltrim(destination,0,99)
    #执行两个命令
    pipe.execute()